/**
 * @author: Gene
 * @age: 永远18岁的美少年
 * @Email： yangjianyun@58.com
 * @date: 2021-12-02 13:00:27
 * @description: ts 训练之  将字符串类型,  首字母大写
 */

/** ---------- 字符串的首字母大写 ---------------- */
// 左边儿的 L 代表第一个字符,  右边儿的R 代表剩余字符串

type CapitalizeString<T> = T extends `${infer L}${infer R}`
  ? `${Uppercase<L>}${R}`
  : T;

type a1 = CapitalizeString<"handler">; // Handler
type a2 = CapitalizeString<"parent">; // Parent
type a3 = CapitalizeString<233>; // 233
